package com.developer.platform.application.command.cmd;

import com.developer.platform.infrastructure.enums.StatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * @author ：qiaoliang
 * @date ：2020-11-10
 */
@ApiModel("新增公告请求模型")
public class NoticeAdd {
    @ApiModelProperty(value = "群ID")
    @NotNull(message = "钉钉群不能为空！")
    private Long groupId;
    @ApiModelProperty(value = "模板ID")
    @NotNull(message = "通知模板不能为空！")
    private Long templateId;
    @ApiModelProperty(value = "更新内容")
    @NotNull(message = "更新内容不能为空！")
    @Size(min = 1, message = "更新内容不能为空！")
    private List<String> contents;
    @ApiModelProperty(value = "详情连接")
    private List<String> urls;
    @ApiModelProperty(value = "更新时长")
    private int duration;
    @ApiModelProperty(value = "更新方式")
    private StatusEnum mode;
    @ApiModelProperty(value = "数据库是否已变动")
    private StatusEnum dataChanged;
    @ApiModelProperty(value = "上线时间")
    private Date onlineTime;
    @ApiModelProperty(value = "反馈时间")
    private int feedback;
    @ApiModelProperty(value = "风险等级")
    private int risk;
    @ApiModelProperty(value = "状态")
    private StatusEnum status;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "更新系统")
    @NotNull(message = "更新系统不能为空！")
    private List<Long> systemIds;
    @ApiModelProperty(value = "受影响系统")
    private List<Long> influenceIds;
    @ApiModelProperty(value = "更新人员")
    @NotNull(message = "更新人员不能为空！")
    private List<Long> durationUserIds;
    @ApiModelProperty(value = "通知人员")
    @NotNull(message = "通知人员不能为空！")
    private List<Long> noticeUserIds;
    @ApiModelProperty(value = "电话通知人员")
    private List<Long> tellUserIds;
    @ApiModelProperty(value = "数据库变动通知人员")
    private List<Long> dateUserIds;
    @ApiModelProperty(value = "推送时间")
    private Date pushTime;

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public Long getTemplateId() {
        return templateId;
    }

    public void setTemplateId(Long templateId) {
        this.templateId = templateId;
    }

    public List<String> getContents() {
        return contents;
    }

    public void setContents(
        List<String> contents) {
        this.contents = contents;
    }

    public List<String> getUrls() {
        return urls;
    }

    public void setUrls(List<String> urls) {
        this.urls = urls;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int duration) {
        this.duration = duration;
    }

    public StatusEnum getMode() {
        return mode;
    }

    public void setMode(StatusEnum mode) {
        this.mode = mode;
    }

    public StatusEnum getDataChanged() {
        return dataChanged;
    }

    public void setDataChanged(StatusEnum dataChanged) {
        this.dataChanged = dataChanged;
    }

    public Date getOnlineTime() {
        return onlineTime;
    }

    public void setOnlineTime(Date onlineTime) {
        this.onlineTime = onlineTime;
    }

    public int getFeedback() {
        return feedback;
    }

    public void setFeedback(int feedback) {
        this.feedback = feedback;
    }

    public int getRisk() {
        return risk;
    }

    public void setRisk(int risk) {
        this.risk = risk;
    }

    public StatusEnum getStatus() {
        return status;
    }

    public void setStatus(StatusEnum status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public List<Long> getSystemIds() {
        return systemIds;
    }

    public void setSystemIds(List<Long> systemIds) {
        this.systemIds = systemIds;
    }

    public List<Long> getInfluenceIds() {
        return influenceIds;
    }

    public void setInfluenceIds(List<Long> influenceIds) {
        this.influenceIds = influenceIds;
    }

    public List<Long> getDurationUserIds() {
        return durationUserIds;
    }

    public void setDurationUserIds(List<Long> durationUserIds) {
        this.durationUserIds = durationUserIds;
    }

    public List<Long> getNoticeUserIds() {
        return noticeUserIds;
    }

    public void setNoticeUserIds(List<Long> noticeUserIds) {
        this.noticeUserIds = noticeUserIds;
    }

    public List<Long> getTellUserIds() {
        return tellUserIds;
    }

    public void setTellUserIds(List<Long> tellUserIds) {
        this.tellUserIds = tellUserIds;
    }

    public List<Long> getDateUserIds() {
        return dateUserIds;
    }

    public void setDateUserIds(List<Long> dateUserIds) {
        this.dateUserIds = dateUserIds;
    }

    public Date getPushTime() {
        return pushTime;
    }

    public void setPushTime(Date pushTime) {
        this.pushTime = pushTime;
    }
}
